[BACKUP] Remover arquivos antigos

1. [BACKUP] Remover arquivos antigos

Allan Carvalho
AllanC

(usa Debian)

Enviado em 20/05/2008 - 08:58h

Caros colegas, escrevi um script para fazer backup de algumas pastas de alguns servidores, ele cria a pasta com a data do backup e compacta os arquivos denjtro dela, ao final disto ele escreve no log a data do backup, porém meu interesse é armazenar estes arquivos por apenas 5 dias, no 6º dia ele apaga o arquivo do 1º dia, bo 7º dia ele apaga do 2º e assim sucessivamente.

Adicionei as seguintes linhas ao script para que ele remova os arquivos antigos:


del=$(head -n1 /backup/log)
rm -rf /backup/$del


Ele lê a primeira linha do arquivo de log e deleta a pasta, o problema é que ele não remove a linha do arquivo, no outro dia ele irá ler a mesma linha e não irá remover arquivo nenhum, gostaria que ele removesse a primeira linha do arquivo de log, como fazer?

Agradeço desde já.


  


2. Re: [BACKUP] Remover arquivos antigos

Thiago Andrighetti de Pádua
thiagoapadua

(usa Debian)

Enviado em 20/05/2008 - 09:03h

Olha, não é recomentado você apagar a linha mesmo, pois é um log não é verdade =].
tenta o seguinte:

find <diretoriodosbackups> -mtime +5 -exec rm {} +

Isso vai procurar no seu diretório de backups todos os arquivos que tenham sido modificados a mais de 5 dias, e logo em seguida a opção -exec vai apagar os mesmos....ou seja, vai restar sempre só os ultimos 5.

Espero ter ajudado.


3. Re: [BACKUP] Remover arquivos antigos

Rodrigo Ferreira Valentim
engos

(usa openSUSE)

Enviado em 20/05/2008 - 09:13h

Concordo com o andrighetti.

Mas caso queira mesmo remover a primeira linha apenas, pelo que entendi você sempre vai querer ter 5 linhas nesse arquivo, quando receber a 6a linha, a 1a deve ser deletada, certo?

Para isso use o comando:

tail -n5

Jogue o resultado dele numa variavel e depois é só sobreescrever seu arquivo com o conteudo dela.


Não testei, mas acho que seria algo do tipo:

new=$(tail -n5 /backup/log)
echo $new > /backup/log


[]s






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts